# The IP address and port that the idcops WSGI process should listen on
bind = "0.0.0.0:8000"  # 使用 TCP 绑定

# 根据 CPU 核心数动态设置工作进程数
import multiprocessing
workers = (multiprocessing.cpu_count() * 2) + 1  # 通常使用 (2 * 核心数) + 1

# 每个工作进程的线程数
threads = 2  # 根据应用的 I/O 密集程度进行调整，I/O 密集型应用可以增加线程数

# 请求超时设置
timeout = 30  # 将超时设置为 30 秒，避免长时间挂起的请求

# 最大请求数，防止内存泄漏
max_requests = 1000  # 降低最大请求数以更频繁地重启工作进程
max_requests_jitter = 100  # 添加抖动以避免同时重启

# 日志配置
accesslog = '/opt/idcops/logs/gunicorn_access.log'  # 访问日志路径
errorlog = '/opt/idcops/logs/gunicorn_error.log'  # 错误日志路径
loglevel = 'info'  # 日志级别，info 级别可以提供足够的信息

# 启用工作进程的预加载
preload_app = True  # 预加载应用以减少内存使用

